/**
 * @param {number} n
 * @return {number}
 */
 var fib = function(n) {
  // 含义 下表为i的位置的dp的值
  // 递推公式已经有了 初始化dp[0] = 0 dp[1] = 1
  if(n === 0 || n === 1) return n // 特殊情况处理
  let v1 = 0 // dp的初始值
  let v2 = 1 
  for(let i = 2;i <= n;i++){
      v2 = v1 + v2 // 该位置的等于前一个加前两个
      v1 = v2 - v1 // 该位置的前一个等于原来的前一个
  }
  return v2 // 返回该位置的值
};